#pragma once

#include <cuda.h>
#include <cuda_runtime_api.h>
#include <vector>

namespace uzu
{
    class DeviceProperty
    {
    private:
        int m_NumDevice;
        std::vector<cudaDeviceProp> m_DeviceProperties;

    public:
        DeviceProperty();
        int NumDevices() const { return m_NumDevice; }
        int MaxThreadsPerBlock(int device_index) const { return m_DeviceProperties[device_index].maxThreadsPerBlock; }
    
    };
}
